/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.aliyuncs.emr.transform.v20160408;

import java.util.ArrayList;
import java.util.List;

import com.aliyuncs.emr.model.v20160408.SearchLogResponse;
import com.aliyuncs.emr.model.v20160408.SearchLogResponse.SlsLogItem;
import com.aliyuncs.transform.UnmarshallerContext;


public class SearchLogResponseUnmarshaller {

	public static SearchLogResponse unmarshall(SearchLogResponse searchLogResponse, UnmarshallerContext _ctx) {
		
		searchLogResponse.setRequestId(_ctx.stringValue("SearchLogResponse.RequestId"));
		searchLogResponse.setCompleted(_ctx.booleanValue("SearchLogResponse.Completed"));

		List<SlsLogItem> slsLogItemList = new ArrayList<SlsLogItem>();
		for (int i = 0; i < _ctx.lengthValue("SearchLogResponse.SlsLogItemList.Length"); i++) {
			SlsLogItem slsLogItem = new SlsLogItem();
			slsLogItem.setTimestamp(_ctx.integerValue("SearchLogResponse.SlsLogItemList["+ i +"].Timestamp"));
			slsLogItem.setSourceIp(_ctx.stringValue("SearchLogResponse.SlsLogItemList["+ i +"].SourceIp"));
			slsLogItem.setHostName(_ctx.stringValue("SearchLogResponse.SlsLogItemList["+ i +"].HostName"));
			slsLogItem.setPath(_ctx.stringValue("SearchLogResponse.SlsLogItemList["+ i +"].Path"));
			slsLogItem.setContent(_ctx.stringValue("SearchLogResponse.SlsLogItemList["+ i +"].Content"));
			slsLogItem.setPackMeta(_ctx.stringValue("SearchLogResponse.SlsLogItemList["+ i +"].PackMeta"));
			slsLogItem.setPackId(_ctx.stringValue("SearchLogResponse.SlsLogItemList["+ i +"].PackId"));

			slsLogItemList.add(slsLogItem);
		}
		searchLogResponse.setSlsLogItemList(slsLogItemList);
	 
	 	return searchLogResponse;
	}
}